package com.plugin.manage.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 长者健康信息数据传输对象
 * 
 * @author mark
 * @date 2025-07-26
 */
@Data
@Schema(description = "长者健康信息数据传输对象")
public class ElderHealthDTO {

    /**
     * 主键ID
     */
    @Schema(description = "主键ID", example = "1")
    private Long id;

    /**
     * app_user用户ID
     */
    @Schema(description = "长者用户ID", required = true, example = "1001")
    private Long elderId;

    /**
     * 血型
     */
    @Schema(description = "血型 (1-A型 2-B型 3-AB型 4-O型)", example = "1")
    private Integer bloodType;

    /**
     * 健康状况
     */
    @Schema(description = "健康状况详细描述", example = "身体健康，无重大疾病")
    private String healthDetail;

    /**
     * 健康标签
     */
    @Schema(description = "健康标签", example = "高血压,糖尿病")
    private String healthLabel;

    /**
     * 生活能力
     */
    @Schema(description = "生活能力评估", example = "能够独立完成日常生活")
    private String actionCapability;

    /**
     * 自理能力
     */
    @Schema(description = "自理能力评估", example = "完全自理")
    private String selfCareCapability;

    /**
     * 认知能力
     */
    @Schema(description = "认知能力评估", example = "认知正常")
    private String cognitiveCapability;

    /**
     * 情绪状态
     */
    @Schema(description = "情绪状态评估", example = "情绪稳定")
    private String emotionalState;

    /**
     * 睡眠质量
     */
    @Schema(description = "睡眠质量评估", example = "睡眠良好")
    private String sleepQuality;

    /**
     * 饮食习惯
     */
    @Schema(description = "饮食习惯描述", example = "饮食清淡，按时用餐")
    private String dietaryHabits;

    /**
     * 运动能力
     */
    @Schema(description = "运动能力评估", example = "可进行轻度运动")
    private String exerciseCapability;

    /**
     * 社交能力
     */
    @Schema(description = "社交能力评估", example = "社交活跃")
    private String socialCapability;

    /**
     * 备注信息
     */
    @Schema(description = "备注信息", example = "需要定期体检")
    private String remarks;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间", example = "2025-07-26 10:30:00")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间", example = "2025-07-26 11:30:00")
    private LocalDateTime updateTime;

    /**
     * 删除标记 (0-未删除 1-已删除)
     */
    @Schema(description = "删除标记 (0-未删除 1-已删除)", example = "0")
    private Integer del;
}
